package org.tof.hotel.entity;

import org.tof.hotel.Generator;
import org.tof.hotel.csv.CSVGenerable;
import org.tof.hotel.csv.GenerableFromCSV;

import java.util.ArrayList;
import java.util.UUID;

/**
 * BaseForRoom class for customer and administrator.
 */
public class Person implements Generator, CSVGenerable, GenerableFromCSV {
    public Person(String name, String phone, String email) {
        this.setName(name);
        this.setPhone(phone);
        this.setEmail(email);
    }

    // -----fields----- //
    private final UUID id = UUID.randomUUID();
    private String name;
    private String phone;
    private String email;

    // -----getters & setters----- //

    public UUID getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    // ----- GeneratoR ----- //

    public void generate(int num) {
    }

    // ----- CSVGenerable-generator ----- //

    public String getFieldNames() {
        return "id,name,phone,email";
    }

    public ArrayList<String> getFields() {
        return null;
    }

    /**
     * should be overridden in inherited class(es)
     */
    public ArrayList<Class> createInstancesFromCsvFile(String filename) {
        return null;
    }
}
